package com.useage.day01;

import java.lang.reflect.Field;

public class IocTest {

	public static void main(String[] args) {
		
		try {
			// 先获取到 狗 的类
			Class dogClass = Dog.class;
			// 通过类创建1个对象
			Object dogObj = dogClass.newInstance();

			
			Class boyClass = Boy.class;
			Object boyObj = boyClass.newInstance();
			
			
			// 获取到男孩类里面的字段
			Field dogField = boyClass.getDeclaredField("dog");
			
			// 更改字段的访问权限
			dogField.setAccessible(true);
			
			// 将dog对象设置到男孩的对象中
			dogField.set(boyObj, dogObj);
			
			((Boy)boyObj).getDog().bark();
			
			// Boy 的狗的属性
			
		
		
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		
		
		/*
		Boy boy = new Boy();
		
		Dog dog = new Dog();
		
		boy.setDog(dog);
		
		boy.getDog().bark();
		*/
	}

}
